package net.servir.capacidades.model;

import java.io.Serializable;

public class Enumerados implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -7391025086835012880L;


	// Maximo codigo de las principales acciones sobre los responsable
	public enum AccionesResponsables {
		VALIDADORES(8), HABILITADORES(4);

		private int codigo;
		AccionesResponsables(int codigo) {
			this.codigo = codigo;
		}
		public int getCodigo() {
			return this.codigo;
		}

		public static AccionesResponsables getEnumFor(int codigo) {
			AccionesResponsables en = null; 
			for (AccionesResponsables acc : AccionesResponsables.values()) {
				if (acc.getCodigo() == codigo)
					en = acc;
			}
			return en;
		}

	}

	public enum NivelGobiernoConSector{
		NACIONAL(2);

		private int codigo;
		NivelGobiernoConSector(int codigo) {
			this.codigo = codigo;
		}
		public int getCodigo() {
			return this.codigo;
		}

		public static NivelGobiernoConSector getEnumFor(int codigo) {
			NivelGobiernoConSector en = null; 
			for (NivelGobiernoConSector acc : NivelGobiernoConSector.values()) {
				if (acc.getCodigo() == codigo)
					en = acc;
			}
			return en;
		}
	}
	
	public enum PerfilesUsuario{
		ADMINISTRADOR(9), MASTER(10);

		private int codigo;
		PerfilesUsuario(int codigo) {
			this.codigo = codigo;
		}
		public int getCodigo() {
			return this.codigo;
		}

		public static PerfilesUsuario getEnumFor(int codigo) {
			PerfilesUsuario en = null; 
			for (PerfilesUsuario acc : PerfilesUsuario.values()) {
				if (acc.getCodigo() == codigo)
					en = acc;
			}
			return en;
		}

	}

	public enum TipoEdicion{
		NUEVO(1),MODIFICAR(2),ELIMINAR(3),CONSULTAR(4);

		private int codigo;
		TipoEdicion(int codigo) {
			this.codigo = codigo;
		}
		public int getCodigo() {
			return this.codigo;
		}

		public static TipoEdicion getEnumFor(int codigo) {
			TipoEdicion en = null; 
			for (TipoEdicion acc : TipoEdicion.values()) {
				if (acc.getCodigo() == codigo)
					en = acc;
			}
			return en;
		}
	}
	
	public enum ProfundidadDatosSistema{
		SOLO_SISTEMA(0),CON_AMBITOS(1),CON_ETAPAS_FUNCIONES(2),CON_ACTIVIDADES(3);

		private int codigo;
		ProfundidadDatosSistema(int codigo) {
			this.codigo = codigo;
		}
		public int getCodigo() {
			return this.codigo;
		}

		public static ProfundidadDatosSistema getEnumFor(int codigo) {
			ProfundidadDatosSistema en = null; 
			for (ProfundidadDatosSistema acc : ProfundidadDatosSistema.values()) {
				if (acc.getCodigo() == codigo)
					en = acc;
			}
			return en;
		}
	}

	public enum GrupoDatosMaestro{
		GENERAL(0),PARA_ALGORITMO(1),PARA_PREGUNTAS(2);

		private int codigo;
		GrupoDatosMaestro(int codigo) {
			this.codigo = codigo;
		}
		public int getCodigo() {
			return this.codigo;
		}

		public static GrupoDatosMaestro getEnumFor(int codigo) {
			GrupoDatosMaestro en = null; 
			for (GrupoDatosMaestro acc : GrupoDatosMaestro.values()) {
				if (acc.getCodigo() == codigo)
					en = acc;
			}
			return en;
		}
	}

	public enum ExportCommandType{
		SQL(1),STORE_PROCEDURE(2);

		private int codigo;
		ExportCommandType(int codigo) {
			this.codigo = codigo;
		}
		public int getCodigo() {
			return this.codigo;
		}

		public static ExportCommandType getEnumFor(int codigo) {
			ExportCommandType en = null; 
			for (ExportCommandType acc : ExportCommandType.values()) {
				if (acc.getCodigo() == codigo)
					en = acc;
			}
			return en;
		}
	}

	public enum ParameterDirection{
		IN(1),OUT(2);

		private int codigo;
		ParameterDirection(int codigo) {
			this.codigo = codigo;
		}
		public int getCodigo() {
			return this.codigo;
		}

		public static ParameterDirection getEnumFor(int codigo) {
			ParameterDirection en = null; 
			for (ParameterDirection acc : ParameterDirection.values()) {
				if (acc.getCodigo() == codigo)
					en = acc;
			}
			return en;
		}
	}

	public enum StoredProcedureDataType{
		INT(1),STRING(2),DATE(3),FLOAT(4),CURSOR(9);

		private int codigo;
		StoredProcedureDataType(int codigo) {
			this.codigo = codigo;
		}
		public int getCodigo() {
			return this.codigo;
		}

		public static StoredProcedureDataType getEnumFor(int codigo) {
			StoredProcedureDataType en = null; 
			for (StoredProcedureDataType acc : StoredProcedureDataType.values()) {
				if (acc.getCodigo() == codigo)
					en = acc;
			}
			return en;
		}
	}

	
	public Enumerados() {
		
		
	}
}
